home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b4.d64 / example11.3 < prev    next >
Text File  |  2007-02-28  |  1KB  |  49 lines

  1. 0010 DIM QUEUE(0:6)
  2. 0020 LENGTH:=0; FRONT:=1; NEP:=1
  3. 0030 REPEAT 
  4. 0040 PRINT TAB(1),"1-ADD AN ITEM"
  5. 0050 PRINT TAB(1),"2-REMOVE AN ITEM"
  6. 0060 PRINT TAB(1),"3-LIST ITEMS IN QUEUE"
  7. 0070 PRINT TAB(1),"4-FINISH"
  8. 0080 INPUT CHOICE
  9. 0090 CASE CHOICE OF
  10. 0100 WHEN 1
  11. 0110 ADD
  12. 0120 WHEN 2
  13. 0130 REMOVE
  14. 0140 WHEN 3
  15. 0150 DISPLAY
  16. 0160 WHEN 4
  17. 0170 STOP 
  18. 0180 OTHERWISE 
  19. 0190 PRINT "ERROR IN INPUT"
  20. 0200 ENDCASE 
  21. 0210 UNTIL 2=1
  22. 0220 PROC ADD 
  23. 0230 IF LENGTH<6 THEN
  24. 0240 QUEUE(NEP):=RND(1,100)
  25. 0250 NEP:=NEP+1
  26. 0260 IF NEP>6 THEN NEP:=1
  27. 0270 LENGTH:=LENGTH+1
  28. 0280 ELSE 
  29. 0290 PRINT "QUEUE IS FULL"
  30. 0300 ENDIF 
  31. 0310 ENDPROC ADD
  32. 0320 PROC REMOVE 
  33. 0330 IF LENGTH>0 THEN
  34. 0340 PRINT "ITEM REMOVED IS";QUEUE(FRONT)
  35. 0350 FRONT:=FRONT+1
  36. 0360 IF FRONT>6 THEN FRONT:=1
  37. 0370 LENGTH:=LENGTH-1
  38. 0380 ELSE 
  39. 0390 PRINT "QUEUE IS EMPTY"
  40. 0400 ENDIF 
  41. 0410 ENDPROC REMOVE
  42. 0420 PROC DISPLAY 
  43. 0430 IF LENGTH>0 THEN
  44. 0440 FOR K:=FRONT TO FRONT+LENGTH-1 DO PRINT QUEUE(K MOD 6);
  45. 0450 ELSE 
  46. 0460 PRINT "QUEUE IS EMPTY"
  47. 0470 ENDIF 
  48. 0480 ENDPROC DISPLAY
  49.